import axios from "axios";
import {ElMessage} from 'element-plus'

const http = axios.create({
    baseURL: 'https://v3pz.itndedu.com/v3pz',
    timeout: 10000,
});

// 添加请求拦截器
http.interceptors.request.use(function (config) {
    // 在请求发送之前做些什么
    // const token = localStorage.getItem('pz_token'); // 从localStorage获取token
    const token =localStorage.getItem('pz_token')
    //不需要添加token的api
    const whiteUrl=['/get/code','/user/authentication','/login']
    if (token &&!whiteUrl.includes(config.url)) {
        config.headers['x-token'] = token; // 将token添加到请求头中
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 任何在2xx范围内的状态码都会触发这个函数
    // 对接口异常的提示
    if(response.data.code === -1){
        ElMessage.warning(response.data.message)
    }

    return response;
}, function (error) {
    // // 任何超出2xx范围的状态码都会触发这个函数
    // // 对响应错误做点什么
    // if (error.response) {
    //     switch (error.response.status) {
    //         case 401:
    //             // 未授权，可能是token过期或无效
    //             localStorage.removeItem('token'); // 移除token
    //             window.location.href = '/login'; // 重定向到登录页面
    //             break;
    //         case 403:
    //             // 禁止访问
    //             alert('您没有权限访问该资源');
    //             break;
    //         case 500:
    //             // 服务器内部错误
    //             alert('服务器发生错误，请稍后再试');
    //             break;
    //         // 可以根据需要添加更多的状态码处理
    //         default:
    //             alert('请求失败，请检查网络连接');
    //             break;
    //     }
    // } else {
    //     // 处理其他类型的错误，如网络错误等
    //     alert('请求失败，请检查网络连接');
    // }
    return Promise.reject(error);
});

export default http